package com.git.hui.yinshua.biz.user.dao.mapper;

import com.git.hui.yinshua.biz.user.dao.domain.UserAddressEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author YiHui
 * @date 2024/6/7
 */
@Mapper
public interface UserAddressMapper {

    /**
     * 查询用户地址列表
     *
     * @param userId
     * @return
     */
    List<UserAddressEntity> listUserAddress(@Param("userId") Integer userId);

    /**
     * 查询用户地址列表
     *
     * @param list
     * @return
     */
    List<UserAddressEntity> batchListUserAddress(@Param("list") List<Integer> list);

    /**
     * 查询用户的默认地址
     *
     * @param userId
     * @return
     */
    UserAddressEntity queryMainAddress(@Param("userId") Integer userId);

    UserAddressEntity queryAddressById(@Param("id") Integer id);

    /**
     * 添加地址
     *
     * @param user
     * @return
     */
    Integer addAddress(@Param("userAddr") UserAddressEntity user);

    /**
     * 更新地址
     *
     * @param user
     * @return
     */
    Integer updateAddress(UserAddressEntity user);


    /**
     * 更新默认地址
     *
     * @param userId    用户id
     * @param addressId 新的默认地址id
     * @return
     */
    Integer updateMainAddress(@Param("userId") Integer userId, @Param("addressId") Integer addressId, @Param("val") Integer val);

    /**
     * 删除地址
     *
     * @param userId
     * @param addressId
     * @return
     */
    Integer rmAddress(@Param("userId") Integer userId, @Param("addressId") Integer addressId);
}
